/*
 * XML Type:  StatementTransaction
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.StatementTransaction
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04;


/**
 * An XML StatementTransaction(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public interface StatementTransaction extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s3A74FF4CC3627C5B0D40068015746F8A.TypeSystemHolder.typeSystem.resolveHandle("statementtransactiond4d3type");
    
    /**
     * Gets the "TRNTYPE" element
     */
    net.ofx.types.x2003.x04.TransactionEnum.Enum getTRNTYPE();
    
    /**
     * Gets (as xml) the "TRNTYPE" element
     */
    net.ofx.types.x2003.x04.TransactionEnum xgetTRNTYPE();
    
    /**
     * Sets the "TRNTYPE" element
     */
    void setTRNTYPE(net.ofx.types.x2003.x04.TransactionEnum.Enum trntype);
    
    /**
     * Sets (as xml) the "TRNTYPE" element
     */
    void xsetTRNTYPE(net.ofx.types.x2003.x04.TransactionEnum trntype);
    
    /**
     * Gets the "DTPOSTED" element
     */
    java.lang.String getDTPOSTED();
    
    /**
     * Gets (as xml) the "DTPOSTED" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTPOSTED();
    
    /**
     * Sets the "DTPOSTED" element
     */
    void setDTPOSTED(java.lang.String dtposted);
    
    /**
     * Sets (as xml) the "DTPOSTED" element
     */
    void xsetDTPOSTED(net.ofx.types.x2003.x04.DateTimeType dtposted);
    
    /**
     * Gets the "DTUSER" element
     */
    java.lang.String getDTUSER();
    
    /**
     * Gets (as xml) the "DTUSER" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTUSER();
    
    /**
     * True if has "DTUSER" element
     */
    boolean isSetDTUSER();
    
    /**
     * Sets the "DTUSER" element
     */
    void setDTUSER(java.lang.String dtuser);
    
    /**
     * Sets (as xml) the "DTUSER" element
     */
    void xsetDTUSER(net.ofx.types.x2003.x04.DateTimeType dtuser);
    
    /**
     * Unsets the "DTUSER" element
     */
    void unsetDTUSER();
    
    /**
     * Gets the "DTAVAIL" element
     */
    java.lang.String getDTAVAIL();
    
    /**
     * Gets (as xml) the "DTAVAIL" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTAVAIL();
    
    /**
     * True if has "DTAVAIL" element
     */
    boolean isSetDTAVAIL();
    
    /**
     * Sets the "DTAVAIL" element
     */
    void setDTAVAIL(java.lang.String dtavail);
    
    /**
     * Sets (as xml) the "DTAVAIL" element
     */
    void xsetDTAVAIL(net.ofx.types.x2003.x04.DateTimeType dtavail);
    
    /**
     * Unsets the "DTAVAIL" element
     */
    void unsetDTAVAIL();
    
    /**
     * Gets the "TRNAMT" element
     */
    java.lang.String getTRNAMT();
    
    /**
     * Gets (as xml) the "TRNAMT" element
     */
    net.ofx.types.x2003.x04.AmountType xgetTRNAMT();
    
    /**
     * Sets the "TRNAMT" element
     */
    void setTRNAMT(java.lang.String trnamt);
    
    /**
     * Sets (as xml) the "TRNAMT" element
     */
    void xsetTRNAMT(net.ofx.types.x2003.x04.AmountType trnamt);
    
    /**
     * Gets the "FITID" element
     */
    java.lang.String getFITID();
    
    /**
     * Gets (as xml) the "FITID" element
     */
    net.ofx.types.x2003.x04.FinancialInstitutionTransactionIdType xgetFITID();
    
    /**
     * Sets the "FITID" element
     */
    void setFITID(java.lang.String fitid);
    
    /**
     * Sets (as xml) the "FITID" element
     */
    void xsetFITID(net.ofx.types.x2003.x04.FinancialInstitutionTransactionIdType fitid);
    
    /**
     * Gets the "CORRECTFITID" element
     */
    java.lang.String getCORRECTFITID();
    
    /**
     * Gets (as xml) the "CORRECTFITID" element
     */
    net.ofx.types.x2003.x04.FinancialInstitutionTransactionIdType xgetCORRECTFITID();
    
    /**
     * True if has "CORRECTFITID" element
     */
    boolean isSetCORRECTFITID();
    
    /**
     * Sets the "CORRECTFITID" element
     */
    void setCORRECTFITID(java.lang.String correctfitid);
    
    /**
     * Sets (as xml) the "CORRECTFITID" element
     */
    void xsetCORRECTFITID(net.ofx.types.x2003.x04.FinancialInstitutionTransactionIdType correctfitid);
    
    /**
     * Unsets the "CORRECTFITID" element
     */
    void unsetCORRECTFITID();
    
    /**
     * Gets the "CORRECTACTION" element
     */
    net.ofx.types.x2003.x04.CorrectiveActionEnum.Enum getCORRECTACTION();
    
    /**
     * Gets (as xml) the "CORRECTACTION" element
     */
    net.ofx.types.x2003.x04.CorrectiveActionEnum xgetCORRECTACTION();
    
    /**
     * True if has "CORRECTACTION" element
     */
    boolean isSetCORRECTACTION();
    
    /**
     * Sets the "CORRECTACTION" element
     */
    void setCORRECTACTION(net.ofx.types.x2003.x04.CorrectiveActionEnum.Enum correctaction);
    
    /**
     * Sets (as xml) the "CORRECTACTION" element
     */
    void xsetCORRECTACTION(net.ofx.types.x2003.x04.CorrectiveActionEnum correctaction);
    
    /**
     * Unsets the "CORRECTACTION" element
     */
    void unsetCORRECTACTION();
    
    /**
     * Gets the "SRVRTID" element
     */
    java.lang.String getSRVRTID();
    
    /**
     * Gets (as xml) the "SRVRTID" element
     */
    net.ofx.types.x2003.x04.ServerIdType xgetSRVRTID();
    
    /**
     * True if has "SRVRTID" element
     */
    boolean isSetSRVRTID();
    
    /**
     * Sets the "SRVRTID" element
     */
    void setSRVRTID(java.lang.String srvrtid);
    
    /**
     * Sets (as xml) the "SRVRTID" element
     */
    void xsetSRVRTID(net.ofx.types.x2003.x04.ServerIdType srvrtid);
    
    /**
     * Unsets the "SRVRTID" element
     */
    void unsetSRVRTID();
    
    /**
     * Gets the "CHECKNUM" element
     */
    java.lang.String getCHECKNUM();
    
    /**
     * Gets (as xml) the "CHECKNUM" element
     */
    net.ofx.types.x2003.x04.CheckNumberType xgetCHECKNUM();
    
    /**
     * True if has "CHECKNUM" element
     */
    boolean isSetCHECKNUM();
    
    /**
     * Sets the "CHECKNUM" element
     */
    void setCHECKNUM(java.lang.String checknum);
    
    /**
     * Sets (as xml) the "CHECKNUM" element
     */
    void xsetCHECKNUM(net.ofx.types.x2003.x04.CheckNumberType checknum);
    
    /**
     * Unsets the "CHECKNUM" element
     */
    void unsetCHECKNUM();
    
    /**
     * Gets the "REFNUM" element
     */
    java.lang.String getREFNUM();
    
    /**
     * Gets (as xml) the "REFNUM" element
     */
    net.ofx.types.x2003.x04.ReferenceNumberType xgetREFNUM();
    
    /**
     * True if has "REFNUM" element
     */
    boolean isSetREFNUM();
    
    /**
     * Sets the "REFNUM" element
     */
    void setREFNUM(java.lang.String refnum);
    
    /**
     * Sets (as xml) the "REFNUM" element
     */
    void xsetREFNUM(net.ofx.types.x2003.x04.ReferenceNumberType refnum);
    
    /**
     * Unsets the "REFNUM" element
     */
    void unsetREFNUM();
    
    /**
     * Gets the "SIC" element
     */
    java.lang.String getSIC();
    
    /**
     * Gets (as xml) the "SIC" element
     */
    net.ofx.types.x2003.x04.StandardIndustryCodeType xgetSIC();
    
    /**
     * True if has "SIC" element
     */
    boolean isSetSIC();
    
    /**
     * Sets the "SIC" element
     */
    void setSIC(java.lang.String sic);
    
    /**
     * Sets (as xml) the "SIC" element
     */
    void xsetSIC(net.ofx.types.x2003.x04.StandardIndustryCodeType sic);
    
    /**
     * Unsets the "SIC" element
     */
    void unsetSIC();
    
    /**
     * Gets the "PAYEEID" element
     */
    java.lang.String getPAYEEID();
    
    /**
     * Gets (as xml) the "PAYEEID" element
     */
    net.ofx.types.x2003.x04.PayeeIdType xgetPAYEEID();
    
    /**
     * True if has "PAYEEID" element
     */
    boolean isSetPAYEEID();
    
    /**
     * Sets the "PAYEEID" element
     */
    void setPAYEEID(java.lang.String payeeid);
    
    /**
     * Sets (as xml) the "PAYEEID" element
     */
    void xsetPAYEEID(net.ofx.types.x2003.x04.PayeeIdType payeeid);
    
    /**
     * Unsets the "PAYEEID" element
     */
    void unsetPAYEEID();
    
    /**
     * Gets the "NAME" element
     */
    java.lang.String getNAME();
    
    /**
     * Gets (as xml) the "NAME" element
     */
    net.ofx.types.x2003.x04.GenericNameType xgetNAME();
    
    /**
     * True if has "NAME" element
     */
    boolean isSetNAME();
    
    /**
     * Sets the "NAME" element
     */
    void setNAME(java.lang.String name);
    
    /**
     * Sets (as xml) the "NAME" element
     */
    void xsetNAME(net.ofx.types.x2003.x04.GenericNameType name);
    
    /**
     * Unsets the "NAME" element
     */
    void unsetNAME();
    
    /**
     * Gets the "PAYEE" element
     */
    net.ofx.types.x2003.x04.Payee getPAYEE();
    
    /**
     * True if has "PAYEE" element
     */
    boolean isSetPAYEE();
    
    /**
     * Sets the "PAYEE" element
     */
    void setPAYEE(net.ofx.types.x2003.x04.Payee payee);
    
    /**
     * Appends and returns a new empty "PAYEE" element
     */
    net.ofx.types.x2003.x04.Payee addNewPAYEE();
    
    /**
     * Unsets the "PAYEE" element
     */
    void unsetPAYEE();
    
    /**
     * Gets the "BANKACCTTO" element
     */
    net.ofx.types.x2003.x04.BankAccount getBANKACCTTO();
    
    /**
     * True if has "BANKACCTTO" element
     */
    boolean isSetBANKACCTTO();
    
    /**
     * Sets the "BANKACCTTO" element
     */
    void setBANKACCTTO(net.ofx.types.x2003.x04.BankAccount bankacctto);
    
    /**
     * Appends and returns a new empty "BANKACCTTO" element
     */
    net.ofx.types.x2003.x04.BankAccount addNewBANKACCTTO();
    
    /**
     * Unsets the "BANKACCTTO" element
     */
    void unsetBANKACCTTO();
    
    /**
     * Gets the "CCACCTTO" element
     */
    net.ofx.types.x2003.x04.CreditCardAccount getCCACCTTO();
    
    /**
     * True if has "CCACCTTO" element
     */
    boolean isSetCCACCTTO();
    
    /**
     * Sets the "CCACCTTO" element
     */
    void setCCACCTTO(net.ofx.types.x2003.x04.CreditCardAccount ccacctto);
    
    /**
     * Appends and returns a new empty "CCACCTTO" element
     */
    net.ofx.types.x2003.x04.CreditCardAccount addNewCCACCTTO();
    
    /**
     * Unsets the "CCACCTTO" element
     */
    void unsetCCACCTTO();
    
    /**
     * Gets the "MEMO" element
     */
    java.lang.String getMEMO();
    
    /**
     * Gets (as xml) the "MEMO" element
     */
    net.ofx.types.x2003.x04.MessageType xgetMEMO();
    
    /**
     * True if has "MEMO" element
     */
    boolean isSetMEMO();
    
    /**
     * Sets the "MEMO" element
     */
    void setMEMO(java.lang.String memo);
    
    /**
     * Sets (as xml) the "MEMO" element
     */
    void xsetMEMO(net.ofx.types.x2003.x04.MessageType memo);
    
    /**
     * Unsets the "MEMO" element
     */
    void unsetMEMO();
    
    /**
     * Gets the "CURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency getCURRENCY();
    
    /**
     * True if has "CURRENCY" element
     */
    boolean isSetCURRENCY();
    
    /**
     * Sets the "CURRENCY" element
     */
    void setCURRENCY(net.ofx.types.x2003.x04.Currency currency);
    
    /**
     * Appends and returns a new empty "CURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency addNewCURRENCY();
    
    /**
     * Unsets the "CURRENCY" element
     */
    void unsetCURRENCY();
    
    /**
     * Gets the "ORIGCURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency getORIGCURRENCY();
    
    /**
     * True if has "ORIGCURRENCY" element
     */
    boolean isSetORIGCURRENCY();
    
    /**
     * Sets the "ORIGCURRENCY" element
     */
    void setORIGCURRENCY(net.ofx.types.x2003.x04.Currency origcurrency);
    
    /**
     * Appends and returns a new empty "ORIGCURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency addNewORIGCURRENCY();
    
    /**
     * Unsets the "ORIGCURRENCY" element
     */
    void unsetORIGCURRENCY();
    
    /**
     * Gets the "INV401KSOURCE" element
     */
    net.ofx.types.x2003.x04.Investment401KSourceEnum.Enum getINV401KSOURCE();
    
    /**
     * Gets (as xml) the "INV401KSOURCE" element
     */
    net.ofx.types.x2003.x04.Investment401KSourceEnum xgetINV401KSOURCE();
    
    /**
     * True if has "INV401KSOURCE" element
     */
    boolean isSetINV401KSOURCE();
    
    /**
     * Sets the "INV401KSOURCE" element
     */
    void setINV401KSOURCE(net.ofx.types.x2003.x04.Investment401KSourceEnum.Enum inv401KSOURCE);
    
    /**
     * Sets (as xml) the "INV401KSOURCE" element
     */
    void xsetINV401KSOURCE(net.ofx.types.x2003.x04.Investment401KSourceEnum inv401KSOURCE);
    
    /**
     * Unsets the "INV401KSOURCE" element
     */
    void unsetINV401KSOURCE();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static net.ofx.types.x2003.x04.StatementTransaction newInstance() {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        public static net.ofx.types.x2003.x04.StatementTransaction parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.StatementTransaction) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
